Cloud computing is increasingly ubiquitous. Cloud computing involves remote computing resources supporting applications which are accessed by remote users. Cloud computing separates the provision of software and management of computing resources, particularly hardware, necessary to support that software.
Cloud computing may use multi-tenancy where many tenants share common computing resources. The computing resources may be shared amongst tenants, e.g. business, organisations and people, and multiple applications. A key requirement of multi-tenancy is that data belonging to each tenant must remain private to that tenant despite the sharing of resources. The requirement of privacy must be respected by the cloud computing environment and applications executing within that environment. It is often desired for multiple applications to share a tenant's data. In some instances, it may not be possible for the applications to communicate directly unless they are compatible, such as originating from a single application vendor. For example, one application may be a Human Resources (HR) application which contains data relating to employees of a business as one or more objects. Another application may be a payroll application which requires information about the employees to administer a payroll function, such as an employee's salary data which is owned by the HR application. In a multi-tenant computing environment allowing one application to access data of another application may create a dependency between the applications. The application accessing the data may become dependent on the application providing the data. Such dependency may limit a freedom to update one or both of the applications.
It is an object of embodiments of the invention to at least mitigate one or more of the problems of the prior art.